/*
 * Copyright 2016 Code Above Lab LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.codeabovelab.dm.cluman.cluster.docker.model;

import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.Date;

import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.ANY;
import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE;

/**
 * State of container.
 */
@Data
@JsonAutoDetect(fieldVisibility = ANY, getterVisibility = NONE, setterVisibility = NONE)
public class ContainerState {

    @JsonProperty("Running")
    private boolean running;
    @JsonProperty("Paused")
    private boolean paused;
    @JsonProperty("Restarting")
    private boolean restarting;
    @JsonProperty("Pid")
    private int pid;
    @JsonProperty("ExitCode")
    private int exitCode;
    @JsonProperty("StartedAt")
    private Date startedAt;
    @JsonProperty("FinishedAt")
    private Date finishedAt;
    @JsonProperty("Error")
    private String error;
    @JsonProperty("Status")
    private String status;
    @JsonProperty("OOMKilled")
    private boolean oomKilled;
}